import axios from 'axios'
import { getItem } from './storage.js'
import router from '@/router/index.js'
const request = axios.create({
  baseURL: 'http://geek.itheima.net/'
})

// 做用户身份验证
request.interceptors.request.use(config => {
  // config： 本次请求的基本配置
  // 如果有token，才设置这个headers参数，如果没有，则无事发生
  const token = getItem('geek-client-pc-store')
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }

  // 在请求拦截器处理数据后，必须返回这个config
  return config
})

// 2小时令牌失效，重新登录
request.interceptors.response.use(res => res, err => {
  // 失效token
  if (err.response && err.response.status === 401) {
    getItem('geek-client-pc-store')
    router.push('/login')
  }
  return Promise.reject(err)
})
export default request
